(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
f_0(x) → a
f_1(x) → g_1(x, x)
g_1(s(x), y) → b(f_0(y), g_1(x, y))
f_2(x) → g_2(x, x)
g_2(s(x), y) → b(f_1(y), g_2(x, y))
f_3(x) → g_3(x, x)
g_3(s(x), y) → b(f_2(y), g_3(x, y))
f_4(x) → g_4(x, x)
g_4(s(x), y) → b(f_3(y), g_4(x, y))
f_5(x) → g_5(x, x)
g_5(s(x), y) → b(f_4(y), g_5(x, y))
Rewrite Strategy: FULL
(1) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
g_1(s(x), y) →+ b(f_0(y), g_1(x, y))
gives rise to a decreasing loop by considering the right hand sides subterm at position [1].
The pumping substitution is [x / s(x)].
The result substitution is [ ].
(2) BOUNDS(n^1, INF)
(3) RenamingProof (EQUIVALENT transformation)
Renamed function symbols to avoid clashes with predefined symbol.
(4) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
f_0(x) → a
f_1(x) → g_1(x, x)
g_1(s(x), y) → b(f_0(y), g_1(x, y))
f_2(x) → g_2(x, x)
g_2(s(x), y) → b(f_1(y), g_2(x, y))
f_3(x) → g_3(x, x)
g_3(s(x), y) → b(f_2(y), g_3(x, y))
f_4(x) → g_4(x, x)
g_4(s(x), y) → b(f_3(y), g_4(x, y))
f_5(x) → g_5(x, x)
g_5(s(x), y) → b(f_4(y), g_5(x, y))
S is empty.
Rewrite Strategy: FULL
(5) SlicingProof (LOWER BOUND(ID) transformation)
Sliced the following arguments:
f_0/0
g_1/1
(6) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
f_0 → a
f_1(x) → g_1(x)
g_1(s(x)) → b(f_0, g_1(x))
f_2(x) → g_2(x, x)
g_2(s(x), y) → b(f_1(y), g_2(x, y))
f_3(x) → g_3(x, x)
g_3(s(x), y) → b(f_2(y), g_3(x, y))
f_4(x) → g_4(x, x)
g_4(s(x), y) → b(f_3(y), g_4(x, y))
f_5(x) → g_5(x, x)
g_5(s(x), y) → b(f_4(y), g_5(x, y))
S is empty.
Rewrite Strategy: FULL
(7) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)
Infered types.
(8) Obligation:
TRS:
Rules:
f_0 → a
f_1(x) → g_1(x)
g_1(s(x)) → b(f_0, g_1(x))
f_2(x) → g_2(x, x)
g_2(s(x), y) → b(f_1(y), g_2(x, y))
f_3(x) → g_3(x, x)
g_3(s(x), y) → b(f_2(y), g_3(x, y))
f_4(x) → g_4(x, x)
g_4(s(x), y) → b(f_3(y), g_4(x, y))
f_5(x) → g_5(x, x)
g_5(s(x), y) → b(f_4(y), g_5(x, y))
Types:
f_0 :: a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
(9) OrderProof (LOWER BOUND(ID) transformation)
Heuristically decided to analyse the following defined symbols:
g_1, g_2, g_3, g_4, g_5
(10) Obligation:
TRS:
Rules:
f_0 →
af_1(
x) →
g_1(
x)
g_1(
s(
x)) →
b(
f_0,
g_1(
x))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_1, g_2, g_3, g_4, g_5
(11) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
g_1(
gen_s4_6(
+(
1,
n6_6))) →
*5_6, rt ∈ Ω(n6
6)
Induction Base:
g_1(gen_s4_6(+(1, 0)))
Induction Step:
g_1(gen_s4_6(+(1, +(n6_6, 1)))) →RΩ(1)
b(f_0, g_1(gen_s4_6(+(1, n6_6)))) →RΩ(1)
b(a, g_1(gen_s4_6(+(1, n6_6)))) →IH
b(a, *5_6)
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(12) Complex Obligation (BEST)
(13) Obligation:
TRS:
Rules:
f_0 →
af_1(
x) →
g_1(
x)
g_1(
s(
x)) →
b(
f_0,
g_1(
x))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Lemmas:
g_1(gen_s4_6(+(1, n6_6))) → *5_6, rt ∈ Ω(n66)
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_2, g_3, g_4, g_5
(14) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol g_2.
(15) Obligation:
TRS:
Rules:
f_0 →
af_1(
x) →
g_1(
x)
g_1(
s(
x)) →
b(
f_0,
g_1(
x))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Lemmas:
g_1(gen_s4_6(+(1, n6_6))) → *5_6, rt ∈ Ω(n66)
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_3, g_4, g_5
(16) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol g_3.
(17) Obligation:
TRS:
Rules:
f_0 →
af_1(
x) →
g_1(
x)
g_1(
s(
x)) →
b(
f_0,
g_1(
x))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Lemmas:
g_1(gen_s4_6(+(1, n6_6))) → *5_6, rt ∈ Ω(n66)
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_4, g_5
(18) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol g_4.
(19) Obligation:
TRS:
Rules:
f_0 →
af_1(
x) →
g_1(
x)
g_1(
s(
x)) →
b(
f_0,
g_1(
x))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Lemmas:
g_1(gen_s4_6(+(1, n6_6))) → *5_6, rt ∈ Ω(n66)
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_5
(20) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol g_5.
(21) Obligation:
TRS:
Rules:
f_0 →
af_1(
x) →
g_1(
x)
g_1(
s(
x)) →
b(
f_0,
g_1(
x))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Lemmas:
g_1(gen_s4_6(+(1, n6_6))) → *5_6, rt ∈ Ω(n66)
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
No more defined symbols left to analyse.
(22) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
g_1(gen_s4_6(+(1, n6_6))) → *5_6, rt ∈ Ω(n66)
(23) BOUNDS(n^1, INF)
(24) Obligation:
TRS:
Rules:
f_0 →
af_1(
x) →
g_1(
x)
g_1(
s(
x)) →
b(
f_0,
g_1(
x))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Lemmas:
g_1(gen_s4_6(+(1, n6_6))) → *5_6, rt ∈ Ω(n66)
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
No more defined symbols left to analyse.
(25) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
g_1(gen_s4_6(+(1, n6_6))) → *5_6, rt ∈ Ω(n66)
(26) BOUNDS(n^1, INF)